home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / graphics / mma2ltx / texmma22.lpro < prev    next >
Text File  |  1994-07-03  |  13KB  |  1,340 lines

  1. %% Mathematica v2.2 prologue.
  2. %%
  3. %% Edited output from a picture saved by Mathematica v2.2 in 'PS' form.
  4. %% Removed the first five header lines (from `%!PS-Adobe-2.0 EPSF-2.0' to
  5. %% `%%EndComments').
  6. %% Removed line `/Mwidth 8.500 72 mul def'.
  7. %% Removed line `/Mheight 11.000 72 mul def'.
  8. %% Removed line `/Mtransform {  } bind def'.
  9. %% Removed line `showpage' at the end of the file.
  10. %% Removed lines containing the graphics (from `%!' to `MathPictureEnd').
  11. /Mathdict 150 dict def
  12. Mathdict begin
  13. /Mlmarg        0 def
  14. /Mrmarg        0 def
  15. /Mbmarg        0 def
  16. /Mtmarg        0 def
  17. /Mtransform    {  } bind def
  18. /Mfixwid    true def
  19. /Mfixdash    false def
  20. /Mrot        0 def
  21. /Mpstart {
  22. MathPictureStart
  23. } bind def
  24. /Mpend {
  25. MathPictureEnd
  26. } bind def
  27. /Mscale {
  28. 0 1 0 1
  29. 5 -1 roll
  30. MathScale
  31. } bind def
  32. /ISOLatin1Encoding dup where
  33. { pop pop }
  34. {
  35. [
  36. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  37. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  38. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  39. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  40. /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
  41. /parenleft /parenright /asterisk /plus /comma /minus /period /slash
  42. /zero /one /two /three /four /five /six /seven
  43. /eight /nine /colon /semicolon /less /equal /greater /question
  44. /at /A /B /C /D /E /F /G
  45. /H /I /J /K /L /M /N /O
  46. /P /Q /R /S /T /U /V /W
  47. /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
  48. /quoteleft /a /b /c /d /e /f /g
  49. /h /i /j /k /l /m /n /o
  50. /p /q /r /s /t /u /v /w
  51. /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
  52. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  53. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  54. /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
  55. /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
  56. /space /exclamdown /cent /sterling /currency /yen /brokenbar /section
  57. /dieresis /copyright /ordfeminine /guillemotleft
  58. /logicalnot /hyphen /registered /macron
  59. /degree /plusminus /twosuperior /threesuperior
  60. /acute /mu /paragraph /periodcentered
  61. /cedilla /onesuperior /ordmasculine /guillemotright
  62. /onequarter /onehalf /threequarters /questiondown
  63. /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
  64. /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
  65. /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
  66. /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
  67. /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
  68. /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
  69. /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
  70. /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
  71. ] def
  72. } ifelse
  73. /MFontDict 50 dict def
  74. /MStrCat
  75. {
  76. exch
  77. dup length
  78. 2 index length add
  79. string
  80. dup 3 1 roll
  81. copy
  82. length
  83. exch dup
  84. 4 2 roll exch
  85. putinterval
  86. } def
  87. /MCreateEncoding
  88. {
  89. 1 index
  90. 255 string cvs
  91. (-) MStrCat
  92. 1 index MStrCat
  93. cvn exch
  94. (Encoding) MStrCat
  95. cvn dup where
  96. {
  97. exch get
  98. }
  99. {
  100. pop
  101. StandardEncoding
  102. } ifelse
  103. 3 1 roll
  104. dup MFontDict exch known not
  105. {
  106. 1 index findfont
  107. dup length dict
  108. begin
  109. {1 index /FID ne
  110. {def}
  111. {pop pop}
  112. ifelse} forall
  113. /Encoding 3 index
  114. def
  115. currentdict
  116. end
  117. 1 index exch definefont pop
  118. MFontDict 1 index
  119. null put
  120. }
  121. if
  122. exch pop
  123. exch pop
  124. } def
  125. /ISOLatin1 { (ISOLatin1) MCreateEncoding } def
  126. /ISO8859 { (ISOLatin1) MCreateEncoding } def
  127. /Mcopyfont {
  128. dup
  129. maxlength
  130. dict
  131. exch
  132. {
  133. 1 index
  134. /FID
  135. eq
  136. {
  137. pop pop
  138. }
  139. {
  140. 2 index
  141. 3 1 roll
  142. put
  143. }
  144. ifelse
  145. }
  146. forall
  147. } def
  148. /Plain    /Courier findfont Mcopyfont definefont pop
  149. /Bold    /Courier-Bold findfont Mcopyfont definefont pop
  150. /Italic /Courier-Oblique findfont Mcopyfont definefont pop
  151. /MathPictureStart {
  152. gsave
  153. Mtransform
  154. Mlmarg
  155. Mbmarg
  156. translate
  157. Mwidth
  158. Mlmarg Mrmarg add
  159. sub
  160. /Mwidth exch def
  161. Mheight
  162. Mbmarg Mtmarg add
  163. sub
  164. /Mheight exch def
  165. /Mtmatrix
  166. matrix currentmatrix
  167. def
  168. /Mgmatrix
  169. matrix currentmatrix
  170. def
  171. } bind def
  172. /MathPictureEnd {
  173. grestore
  174. } bind def
  175. /MFill {
  176. 0 0         moveto
  177. Mwidth 0     lineto
  178. Mwidth Mheight     lineto
  179. 0 Mheight     lineto
  180. fill
  181. } bind def
  182. /MPlotRegion {
  183. 3 index
  184. Mwidth mul
  185. 2 index
  186. Mheight mul
  187. translate
  188. exch sub
  189. Mheight mul
  190. /Mheight
  191. exch def
  192. exch sub
  193. Mwidth mul
  194. /Mwidth
  195. exch def
  196. } bind def
  197. /MathSubStart {
  198. Momatrix
  199. Mgmatrix Mtmatrix
  200. Mwidth Mheight
  201. 7 -2 roll
  202. moveto
  203. Mtmatrix setmatrix
  204. currentpoint
  205. Mgmatrix setmatrix
  206. 9 -2 roll
  207. moveto
  208. Mtmatrix setmatrix
  209. currentpoint
  210. 2 copy translate
  211. /Mtmatrix matrix currentmatrix def
  212. 3 -1 roll
  213. exch sub
  214. /Mheight exch def
  215. sub
  216. /Mwidth exch def
  217. } bind def
  218. /MathSubEnd {
  219. /Mheight exch def
  220. /Mwidth exch def
  221. /Mtmatrix exch def
  222. dup setmatrix
  223. /Mgmatrix exch def
  224. /Momatrix exch def
  225. } bind def
  226. /Mdot {
  227. moveto
  228. 0 0 rlineto
  229. stroke
  230. } bind def
  231. /Mtetra {
  232. moveto
  233. lineto
  234. lineto
  235. lineto
  236. fill
  237. } bind def
  238. /Metetra {
  239. moveto
  240. lineto
  241. lineto
  242. lineto
  243. closepath
  244. gsave
  245. fill
  246. grestore
  247. 0 setgray
  248. stroke
  249. } bind def
  250. /Mistroke {
  251. flattenpath
  252. 0 0 0
  253. {
  254. 4 2 roll
  255. pop pop
  256. }
  257. {
  258. 4 -1 roll
  259. 2 index
  260. sub dup mul
  261. 4 -1 roll
  262. 2 index
  263. sub dup mul
  264. add sqrt
  265. 4 -1 roll
  266. add
  267. 3 1 roll
  268. }
  269. {
  270. stop
  271. }
  272. {
  273. stop
  274. }
  275. pathforall
  276. pop pop
  277. currentpoint
  278. stroke
  279. moveto
  280. currentdash
  281. 3 -1 roll
  282. add
  283. setdash
  284. } bind def
  285. /Mfstroke {
  286. stroke
  287. currentdash
  288. pop 0
  289. setdash
  290. } bind def
  291. /Mrotsboxa {
  292. gsave
  293. dup
  294. /Mrot
  295. exch def
  296. Mrotcheck
  297. Mtmatrix
  298. dup
  299. setmatrix
  300. 7 1 roll
  301. 4 index
  302. 4 index
  303. translate
  304. rotate
  305. 3 index
  306. -1 mul
  307. 3 index
  308. -1 mul
  309. translate
  310. /Mtmatrix
  311. matrix
  312. currentmatrix
  313. def
  314. grestore
  315. Msboxa
  316. 3  -1 roll
  317. /Mtmatrix
  318. exch def
  319. /Mrot
  320. 0 def
  321. } bind def
  322. /Msboxa {
  323. newpath
  324. 5 -1 roll
  325. Mvboxa
  326. pop
  327. Mboxout
  328. 6 -1 roll
  329. 5 -1 roll
  330. 4 -1 roll
  331. Msboxa1
  332. 5 -3 roll
  333. Msboxa1
  334. Mboxrot
  335. [
  336. 7 -2 roll
  337. 2 copy
  338. [
  339. 3 1 roll
  340. 10 -1 roll
  341. 9 -1 roll
  342. ]
  343. 6 1 roll
  344. 5 -2 roll
  345. ]
  346. } bind def
  347. /Msboxa1 {
  348. sub
  349. 2 div
  350. dup
  351. 2 index
  352. 1 add
  353. mul
  354. 3 -1 roll
  355. -1 add
  356. 3 -1 roll
  357. mul
  358. } bind def
  359. /Mvboxa    {
  360. Mfixwid
  361. {
  362. Mvboxa1
  363. }
  364. {
  365. dup
  366. Mwidthcal
  367. 0 exch
  368. {
  369. add
  370. }
  371. forall
  372. exch
  373. Mvboxa1
  374. 4 index
  375. 7 -1 roll
  376. add
  377. 4 -1 roll
  378. pop
  379. 3 1 roll
  380. }
  381. ifelse
  382. } bind def
  383. /Mvboxa1 {
  384. gsave
  385. newpath
  386. [ true
  387. 3 -1 roll
  388. {
  389. Mbbox
  390. 5 -1 roll
  391. {
  392. 0
  393. 5 1 roll
  394. }
  395. {
  396. 7 -1 roll
  397. exch sub
  398. (m) stringwidth pop
  399. .3 mul
  400. sub
  401. 7 1 roll
  402. 6 -1 roll
  403. 4 -1 roll
  404. Mmin
  405. 3 -1 roll
  406. 5 index
  407. add
  408. 5 -1 roll
  409. 4 -1 roll
  410. Mmax
  411. 4 -1 roll
  412. }
  413. ifelse
  414. false
  415. }
  416. forall
  417. { stop } if
  418. counttomark
  419. 1 add
  420. 4 roll
  421. ]
  422. grestore
  423. } bind def
  424. /Mbbox {
  425. 1 dict begin
  426. 0 0 moveto
  427. /temp (T) def
  428. {    gsave
  429. currentpoint newpath moveto
  430. temp 0 3 -1 roll put temp
  431. false charpath flattenpath currentpoint
  432. pathbbox
  433. grestore moveto lineto moveto} forall
  434. pathbbox
  435. newpath
  436. end
  437. } bind def
  438. /Mmin {
  439. 2 copy
  440. gt
  441. { exch } if
  442. pop
  443. } bind def
  444. /Mmax {
  445. 2 copy
  446. lt
  447. { exch } if
  448. pop
  449. } bind def
  450. /Mrotshowa {
  451. dup
  452. /Mrot
  453. exch def
  454. Mrotcheck
  455. Mtmatrix
  456. dup
  457. setmatrix
  458. 7 1 roll
  459. 4 index
  460. 4 index
  461. translate
  462. rotate
  463. 3 index
  464. -1 mul
  465. 3 index
  466. -1 mul
  467. translate
  468. /Mtmatrix
  469. matrix
  470. currentmatrix
  471. def
  472. Mgmatrix setmatrix
  473. Mshowa
  474. /Mtmatrix
  475. exch def
  476. /Mrot 0 def
  477. } bind def
  478. /Mshowa {
  479. 4 -2 roll
  480. moveto
  481. 2 index
  482. Mtmatrix setmatrix
  483. Mvboxa
  484. 7 1 roll
  485. Mboxout
  486. 6 -1 roll
  487. 5 -1 roll
  488. 4 -1 roll
  489. Mshowa1
  490. 4 1 roll
  491. Mshowa1
  492. rmoveto
  493. currentpoint
  494. Mfixwid
  495. {
  496. Mshowax
  497. }
  498. {
  499. Mshoway
  500. }
  501. ifelse
  502. pop pop pop pop
  503. Mgmatrix setmatrix
  504. } bind def
  505. /Mshowax {    
  506. 0 1
  507. 4 index length
  508. -1 add
  509. {
  510. 2 index
  511. 4 index
  512. 2 index
  513. get
  514. 3 index
  515. add
  516. moveto
  517. 4 index
  518. exch get
  519. Mfixdash
  520. {
  521. Mfixdashp        
  522. }
  523. if
  524. show
  525. } for
  526. } bind def
  527. /Mfixdashp {
  528. dup
  529. length
  530. 1
  531. gt
  532. 1 index
  533. true exch
  534. {
  535. 45
  536. eq
  537. and
  538. } forall
  539. and
  540. {
  541. gsave
  542. (--)        
  543. stringwidth pop
  544. (-)
  545. stringwidth pop
  546. sub
  547. 2 div
  548. 0 rmoveto
  549. dup
  550. length
  551. 1 sub
  552. {
  553. (-)
  554. show
  555. }
  556. repeat
  557. grestore
  558. }
  559. if
  560. } bind def    
  561. /Mshoway {
  562. 3 index
  563. Mwidthcal
  564. 5 1 roll
  565. 0 1
  566. 4 index length
  567. -1 add
  568. {
  569. 2 index
  570. 4 index
  571. 2 index
  572. get
  573. 3 index
  574. add
  575. moveto
  576. 4 index
  577. exch get
  578. [
  579. 6 index
  580. aload
  581. length
  582. 2 add
  583. -1 roll
  584. {
  585. pop
  586. Strform
  587. stringwidth
  588. pop
  589. neg 
  590. exch
  591. add
  592. 0 rmoveto
  593. }
  594. exch
  595. kshow
  596. cleartomark
  597. } for
  598. pop    
  599. } bind def
  600. /Mwidthcal {
  601. [
  602. exch
  603. {
  604. Mwidthcal1
  605. }
  606. forall
  607. ]
  608. [
  609. exch
  610. dup
  611. Maxlen
  612. -1 add
  613. 0 1
  614. 3 -1 roll
  615. {
  616. [
  617. exch
  618. 2 index
  619. {         
  620. 1 index    
  621. Mget
  622. exch
  623. }
  624. forall        
  625. pop
  626. Maxget
  627. exch
  628. }
  629. for
  630. pop
  631. ]
  632. Mreva
  633. } bind def
  634. /Mreva    {
  635. [
  636. exch
  637. aload
  638. length
  639. -1 1
  640. {1 roll}
  641. for
  642. ]
  643. } bind def
  644. /Mget    {
  645. 1 index
  646. length
  647. -1 add
  648. 1 index
  649. ge
  650. {
  651. get
  652. }
  653. {
  654. pop pop
  655. 0
  656. }
  657. ifelse
  658. } bind def
  659. /Maxlen    {
  660. [
  661. exch
  662. {
  663. length
  664. }
  665. forall
  666. Maxget
  667. } bind def
  668. /Maxget    {
  669. counttomark
  670. -1 add
  671. 1 1
  672. 3 -1 roll
  673. {
  674. pop
  675. Mmax
  676. }
  677. for
  678. exch
  679. pop
  680. } bind def
  681. /Mwidthcal1 {
  682. [
  683. exch
  684. {
  685. Strform
  686. stringwidth
  687. pop
  688. }
  689. forall
  690. ]
  691. } bind def
  692. /Strform {
  693. /tem (x) def
  694. tem 0
  695. 3 -1 roll
  696. put
  697. tem
  698. } bind def
  699. /Mshowa1 {
  700. 2 copy
  701. add
  702. 4 1 roll
  703. sub
  704. mul
  705. sub
  706. -2 div
  707. } bind def
  708. /MathScale {
  709. Mwidth
  710. Mheight
  711. Mlp
  712. translate
  713. scale
  714. /yscale exch def
  715. /ybias exch def
  716. /xscale exch def
  717. /xbias exch def
  718. /Momatrix
  719. xscale yscale matrix scale
  720. xbias ybias matrix translate
  721. matrix concatmatrix def
  722. /Mgmatrix
  723. matrix currentmatrix
  724. def
  725. } bind def
  726. /Mlp {
  727. 3 copy
  728. Mlpfirst
  729. {
  730. Mnodistort
  731. {
  732. Mmin
  733. dup
  734. } if
  735. 4 index
  736. 2 index
  737. 2 index
  738. Mlprun
  739. 11 index
  740. 11 -1 roll
  741. 10 -4 roll
  742. Mlp1
  743. 8 index
  744. 9 -5 roll
  745. Mlp1
  746. 4 -1 roll
  747. and
  748. { exit } if
  749. 3 -1 roll
  750. pop pop
  751. } loop
  752. exch
  753. 3 1 roll
  754. 7 -3 roll
  755. pop pop pop
  756. } bind def
  757. /Mlpfirst {
  758. 3 -1 roll
  759. dup length
  760. 2 copy
  761. -2 add
  762. get
  763. aload
  764. pop pop pop
  765. 4 -2 roll
  766. -1 add
  767. get
  768. aload
  769. pop pop pop
  770. 6 -1 roll
  771. 3 -1 roll
  772. 5 -1 roll
  773. sub
  774. div
  775. 4 1 roll
  776. exch sub
  777. div
  778. } bind def
  779. /Mlprun {
  780. 2 copy
  781. 4 index
  782. 0 get
  783. dup
  784. 4 1 roll
  785. Mlprun1
  786. 3 copy
  787. 8 -2 roll
  788. 9 -1 roll
  789. {
  790. 3 copy
  791. Mlprun1
  792. 3 copy
  793. 11 -3 roll
  794. /gt Mlpminmax
  795. 8 3 roll
  796. 11 -3 roll
  797. /lt Mlpminmax
  798. 8 3 roll
  799. } forall
  800. pop pop pop pop
  801. 3 1 roll
  802. pop pop
  803. aload pop
  804. 5 -1 roll
  805. aload pop
  806. exch
  807. 6 -1 roll
  808. Mlprun2
  809. 8 2 roll
  810. 4 -1 roll
  811. Mlprun2
  812. 6 2 roll
  813. 3 -1 roll
  814. Mlprun2
  815. 4 2 roll
  816. exch
  817. Mlprun2
  818. 6 2 roll
  819. } bind def
  820. /Mlprun1 {
  821. aload pop
  822. exch
  823. 6 -1 roll
  824. 5 -1 roll
  825. mul add
  826. 4 -2 roll
  827. mul
  828. 3 -1 roll
  829. add
  830. } bind def
  831. /Mlprun2 {
  832. 2 copy
  833. add 2 div
  834. 3 1 roll
  835. exch sub
  836. } bind def
  837. /Mlpminmax {
  838. cvx
  839. 2 index
  840. 6 index
  841. 2 index
  842. exec
  843. {
  844. 7 -3 roll
  845. 4 -1 roll
  846. } if
  847. 1 index
  848. 5 index
  849. 3 -1 roll
  850. exec
  851. {
  852. 4 1 roll
  853. pop
  854. 5 -1 roll
  855. aload
  856. pop pop
  857. 4 -1 roll
  858. aload pop
  859. [
  860. 8 -2 roll
  861. pop
  862. 5 -2 roll
  863. pop
  864. 6 -2 roll
  865. pop
  866. 5 -1 roll
  867. ]
  868. 4 1 roll
  869. pop
  870. }
  871. {
  872. pop pop pop
  873. } ifelse
  874. } bind def
  875. /Mlp1 {
  876. 5 index
  877. 3 index    sub
  878. 5 index
  879. 2 index mul
  880. 1 index
  881. le
  882. 1 index
  883. 0 le
  884. or
  885. dup
  886. not
  887. {
  888. 1 index
  889. 3 index    div
  890. .99999 mul
  891. 8 -1 roll
  892. pop
  893. 7 1 roll
  894. }
  895. if
  896. 8 -1 roll
  897. 2 div
  898. 7 -2 roll
  899. pop sub
  900. 5 index
  901. 6 -3 roll
  902. pop pop
  903. mul sub
  904. exch
  905. } bind def
  906. /intop 0 def
  907. /inrht 0 def
  908. /inflag 0 def
  909. /outflag 0 def
  910. /xadrht 0 def
  911. /xadlft 0 def
  912. /yadtop 0 def
  913. /yadbot 0 def
  914. /Minner {
  915. outflag
  916. 1
  917. eq
  918. {
  919. /outflag 0 def
  920. /intop 0 def
  921. /inrht 0 def
  922. } if        
  923. 5 index
  924. gsave
  925. Mtmatrix setmatrix
  926. Mvboxa pop
  927. grestore
  928. 3 -1 roll
  929. pop
  930. dup
  931. intop
  932. gt
  933. {
  934. /intop
  935. exch def
  936. }
  937. { pop }
  938. ifelse
  939. dup
  940. inrht
  941. gt
  942. {
  943. /inrht
  944. exch def
  945. }
  946. { pop }
  947. ifelse
  948. pop
  949. /inflag
  950. 1 def
  951. } bind def
  952. /Mouter {
  953. /xadrht 0 def
  954. /xadlft 0 def
  955. /yadtop 0 def
  956. /yadbot 0 def
  957. inflag
  958. 1 eq
  959. {
  960. dup
  961. 0 lt
  962. {
  963. dup
  964. intop
  965. mul
  966. neg
  967. /yadtop
  968. exch def
  969. } if
  970. dup
  971. 0 gt
  972. {
  973. dup
  974. intop
  975. mul
  976. /yadbot
  977. exch def
  978. }
  979. if
  980. pop
  981. dup
  982. 0 lt
  983. {
  984. dup
  985. inrht
  986. mul
  987. neg
  988. /xadrht
  989. exch def
  990. } if
  991. dup
  992. 0 gt
  993. {
  994. dup
  995. inrht
  996. mul
  997. /xadlft
  998. exch def
  999. } if
  1000. pop
  1001. /outflag 1 def
  1002. }
  1003. { pop pop}
  1004. ifelse
  1005. /inflag 0 def
  1006. /inrht 0 def
  1007. /intop 0 def
  1008. } bind def    
  1009. /Mboxout {
  1010. outflag
  1011. 1
  1012. eq
  1013. {
  1014. 4 -1
  1015. roll
  1016. xadlft
  1017. leadjust
  1018. add
  1019. sub
  1020. 4 1 roll
  1021. 3 -1
  1022. roll
  1023. yadbot
  1024. leadjust
  1025. add
  1026. sub
  1027. 3 1
  1028. roll
  1029. exch
  1030. xadrht
  1031. leadjust
  1032. add
  1033. add
  1034. exch
  1035. yadtop
  1036. leadjust
  1037. add
  1038. add
  1039. /outflag 0 def
  1040. /xadlft 0 def
  1041. /yadbot 0 def
  1042. /xadrht 0 def
  1043. /yadtop 0 def
  1044. } if
  1045. } bind def
  1046. /leadjust {
  1047. (m) stringwidth pop
  1048. .5 mul
  1049. } bind def
  1050. /Mrotcheck {
  1051. dup
  1052. 90
  1053. eq
  1054. {
  1055. yadbot
  1056. /yadbot
  1057. xadrht
  1058. def    
  1059. /xadrht
  1060. yadtop
  1061. def
  1062. /yadtop
  1063. xadlft
  1064. def
  1065. /xadlft
  1066. exch
  1067. def
  1068. }
  1069. if
  1070. dup
  1071. cos
  1072. 1 index
  1073. sin
  1074. Checkaux
  1075. dup
  1076. cos
  1077. 1 index
  1078. sin neg
  1079. exch
  1080. Checkaux
  1081. 3 1 roll
  1082. pop pop
  1083. } bind def
  1084. /Checkaux {
  1085. 4 index
  1086. exch
  1087. 4 index
  1088. mul
  1089. 3 1 roll
  1090. mul add
  1091. 4 1 roll
  1092. } bind def
  1093. /Mboxrot {
  1094. Mrot
  1095. 90 eq
  1096. {
  1097. brotaux
  1098. 4 2
  1099. roll
  1100. }
  1101. if
  1102. Mrot
  1103. 180 eq
  1104. {
  1105. 4 2
  1106. roll
  1107. brotaux
  1108. 4 2
  1109. roll
  1110. brotaux
  1111. }    
  1112. if
  1113. Mrot
  1114. 270 eq
  1115. {
  1116. 4 2
  1117. roll
  1118. brotaux
  1119. }
  1120. if
  1121. } bind def
  1122. /brotaux {
  1123. neg
  1124. exch
  1125. neg
  1126. } bind def
  1127. /Mabsproc {
  1128. 0
  1129. matrix defaultmatrix
  1130. dtransform idtransform
  1131. dup mul exch
  1132. dup mul
  1133. add sqrt
  1134. } bind def
  1135. /Mabswid {
  1136. Mabsproc
  1137. setlinewidth    
  1138. } bind def
  1139. /Mabsdash {
  1140. exch
  1141. [
  1142. exch
  1143. {
  1144. Mabsproc
  1145. }
  1146. forall
  1147. ]
  1148. exch
  1149. setdash
  1150. } bind def
  1151.  
  1152. %MBeginOrig start coordinates in user coordinates
  1153. /MBeginOrig { Momatrix concat} bind def
  1154.  
  1155. %MEndOrig start coordinates in user coordinates
  1156. /MEndOrig { Mgmatrix setmatrix} bind def
  1157.  
  1158. /sampledsound where
  1159. { pop}
  1160. { /sampledsound {
  1161. exch
  1162. pop
  1163. exch
  1164. 5 1 roll
  1165. mul
  1166. 4 idiv
  1167. mul
  1168. 2 idiv
  1169. exch pop
  1170. exch
  1171. /Mtempproc exch def
  1172. { Mtempproc pop}
  1173. repeat
  1174. } bind def
  1175. } ifelse
  1176. /g { setgray} bind def
  1177. /k { setcmykcolor} bind def
  1178. /m { moveto} bind def
  1179. /p { gsave} bind def
  1180. /r { setrgbcolor} bind def
  1181. /w { setlinewidth} bind def
  1182. /C { curveto} bind def
  1183. /F { fill} bind def
  1184. /L { lineto} bind def
  1185. /P { grestore} bind def
  1186. /s { stroke} bind def
  1187. /setcmykcolor where
  1188. { pop}
  1189. { /setcmykcolor {
  1190. 4 1
  1191. roll
  1192. [
  1193. 4 1 
  1194. roll
  1195. ]
  1196. {
  1197. 1 index
  1198. sub
  1199. 1
  1200. sub neg
  1201. dup
  1202. 0
  1203. lt
  1204. {
  1205. pop
  1206. 0
  1207. }
  1208. if
  1209. dup
  1210. 1
  1211. gt
  1212. {
  1213. pop
  1214. 1
  1215. }
  1216. if
  1217. exch
  1218. } forall
  1219. pop
  1220. setrgbcolor
  1221. } bind def
  1222. } ifelse
  1223. /Mcharproc
  1224. {
  1225. currentfile
  1226. (x)
  1227. readhexstring
  1228. pop
  1229. 0 get
  1230. exch
  1231. div
  1232. } bind def
  1233. /Mshadeproc
  1234. {
  1235. dup
  1236. 3 1
  1237. roll
  1238. {
  1239. dup
  1240. Mcharproc
  1241. 3 1
  1242. roll
  1243. } repeat
  1244. 1 eq
  1245. {
  1246. setgray
  1247. }
  1248. {
  1249. 3 eq
  1250. {
  1251. setrgbcolor
  1252. }
  1253. {
  1254. setcmykcolor
  1255. } ifelse
  1256. } ifelse
  1257. } bind def
  1258. /Mrectproc
  1259. {
  1260. 3 index
  1261. 2 index
  1262. moveto
  1263. 2 index
  1264. 3 -1
  1265. roll
  1266. lineto
  1267. dup
  1268. 3 1
  1269. roll
  1270. lineto
  1271. lineto
  1272. fill
  1273. } bind def
  1274. /Mcolorimage
  1275. {
  1276. 7 1
  1277. roll
  1278. pop
  1279. pop
  1280. matrix
  1281. invertmatrix
  1282. concat
  1283. 2 exch exp
  1284. 1 sub
  1285. 3 1 roll
  1286. 1 1
  1287. 2 index
  1288. {
  1289. 1 1
  1290. 4 index
  1291. {
  1292. dup
  1293. 1 sub
  1294. exch
  1295. 2 index
  1296. dup
  1297. 1 sub
  1298. exch
  1299. 7 index
  1300. 9 index
  1301. Mshadeproc
  1302. Mrectproc
  1303. } for
  1304. pop
  1305. } for
  1306. pop pop pop pop
  1307. } bind def
  1308. /Mimage
  1309. {
  1310. pop
  1311. matrix
  1312. invertmatrix
  1313. concat
  1314. 2 exch exp
  1315. 1 sub
  1316. 3 1 roll
  1317. 1 1
  1318. 2 index
  1319. {
  1320. 1 1
  1321. 4 index
  1322. {
  1323. dup
  1324. 1 sub
  1325. exch
  1326. 2 index
  1327. dup
  1328. 1 sub
  1329. exch
  1330. 7 index
  1331. Mcharproc
  1332. setgray
  1333. Mrectproc
  1334. } for
  1335. pop
  1336. } for
  1337. pop pop pop
  1338. } bind def
  1339. end
  1340.